A server cluster is a group of independent servers running a server system and working together as a single system to provide high availability of services for clients. When a failure occurs on one node in a cluster, resources are redirected and the workload redistributed to another node in the cluster. Typical uses for server clusters include file servers, print servers, database servers and messaging servers.
The servers comprising a cluster are often referred to as cluster nodes. Cluster nodes may be active nodes or passive nodes. An active node may refer to a host that is actively running the system. The active node is also referred to as the active cluster, primary server or active server. A passive node may be an available network node that “listens” for transmissions but is not actively involved in passing them along the network; typical of a node on a bus network.
Certain operations performed on active and passive nodes of a server cluster often require the operation to be performed on the active node, and then on the passive nodes of the cluster. Performance of an operation, such as an operation to connect or disconnect a virtual disk, may be necessary for processes such as cluster failover, storage resource provisioning and the like. Typically, an operation performed on multiple passive nodes in a cluster is required to be performed in sequence on each individual passive node. For instance, an application such as a file system manager may initiate the operation on a first passive node of the cluster and, after the file system manager has verified that the operation has either successfully or unsuccessfully performed on the first passive node, the operation may be performed on a subsequent passive node. Thus, the time to perform an operation is the sum of the operation performance time of the active node and the operation performance time of each passive node in the cluster. Referring to FIG. 1, a flow diagram of a prior art method 100 for initiating a connect or disconnect operation on the nodes of a cluster is shown. An active node may require T seconds to perform a requested connect or disconnect operation 102. The time required to connect or disconnect on a subsequent passive node may be T1 seconds 104 and the time required to connect or disconnect on a passive node following the first passive node may be T1 seconds 106. The third passive node and the fourth passive node may also require T1 seconds to connect or disconnect 108-110. Therefore, the total time t taken to complete a connect or disconnect operation on the cluster may be represented as:t=T+(T1*n)
112 where n is the number of passive nodes in the cluster. From the equation, it is evident that in prior art connect and disconnect operations, the total time t, increases with the addition of passive nodes to the cluster. Disadvantageously, this connect or disconnect initiation protocol is time inefficient, and becomes increasingly time inefficient as additional passive nodes join the cluster.
Consequently, it would be advantageous to provide a system and method for improving operation performance in cluster systems by providing simultaneous operation initiation for all passive nodes in a cluster.